//
//  ImageCell.m
//  图片移动
//
//  Created by 小果 on 16/7/2.
//  Copyright © 2016年 小果. All rights reserved.
//

#import "ImageCell.h"
#import "CellModel.h"
#import <UIImageView+WebCache.h>

@interface ImageCell ()

@property (nonatomic, strong, readwrite) UILabel *label;

@property (nonatomic, strong, readwrite) UIImageView *imgView;

@end

@implementation ImageCell
-(instancetype)initWithFrame:(CGRect)frame{
    if (self = [super initWithFrame:frame]){
        [self setUpImageView];
    }
    return self;
}
#pragma mark - 设置图片
-(void)setUpImageView{
    /**
     图片的填充模式：
     UIViewContentModeScaleAspectFit, //这个图片都会在view里面显示，并且比例不变 这就是说 如果图片和view的比例不一样
     UIViewContentModeScaleAspectFill, // 这是整个view会被图片填满，图片比例不变 ，这样图片显示就会大于view
     既然要求不高 又不能留白 那我就可以用第二种 可是这样就超出位置了，于是同事又开口了 截掉就可以了
     然后完整过程就两步
     [btn setContentMode:UIViewContentModeScaleAspectFill];
     btn.clipsToBounds = YES;
     
     UIViewContentModeScaleToFill      根据视图的比例去拉伸图片内容
     UIViewContentModeScaleAspectFit   保持图片内容的纵横比例，来适应视图的大小
     UIViewContentModeScaleAspectFill  用图片内容来填充视图的大小，多余得部分可以被修剪掉来填充整个视图边界
     UIViewContentModeRedraw      这个选项是单视图的尺寸位置发生变化的时候通过调用setNeedsDisplay方法来重新显示
     UIViewContentModeCenter   保持图片原比例在视图中间显示图片内容,如果视图大小小于图片的尺寸，则图片会超出视图边界
     UIViewContentModeTop        保持图片原比例在视图中间顶部显示图片内容
     UIViewContentModeBottom     保持图片原比例在视图中间底部显示图片内容
     UIViewContentModeLeft       保持图片原比例在视图中间左边显示图片内容
     UIViewContentModeRight      保持图片原比例在视图中间右边显示图片内容
     UIViewContentModeTopLeft    保持图片原比例在视图左上角显示图片内容
     UIViewContentModeTopRight   保持图片原比例在视图右上角显示图片内容
     UIViewContentModeBottomLeft   保持图片原比例在视图左下角显示图片内容
     UIViewContentModeBottomRight  保持图片原比例在视图右下角显示图片内容
     */

    self.clipsToBounds = YES;
    // 设置imageView的尺寸
    self.imgView = [[UIImageView alloc] initWithFrame:CGRectMake(self.bounds.origin.x, self.bounds.origin.y, self.bounds.size.width, IMAGE_HEIGHT)];
    self.imgView.backgroundColor = [UIColor lightGrayColor];
    self.imgView.center = self.center;
    // 设置图片的填充模式
    self.imgView.contentMode = UIViewContentModeScaleAspectFill;
    self.imgView.clipsToBounds = NO;
    [self addSubview:self.imgView];
    
    // 设置图片上面的文字
    self.label = [[UILabel alloc] init];
    self.label.frame = CGRectMake(0, 0, self.contentView.frame.size.width, 30);
    self.label.textColor = [UIColor whiteColor];
    self.label.textAlignment = NSTextAlignmentCenter;
    self.label.font = [UIFont systemFontOfSize:27];
    self.label.center = self.contentView.center;
    [self addSubview:self.label];
    
}

#pragma mark - 设置cell的偏移量
-(void)setImgOffset:(CGPoint)imgOffset{
    _imgOffset = imgOffset;
    
    CGRect frame = self.imgView.bounds;
    CGRect offsetFrame = CGRectOffset(frame, _imgOffset.x, _imgOffset.y);
    self.imgView.frame = offsetFrame;
    
}

#pragma mark - 赋值
-(void)setModel:(CellModel *)model{
    _model = model;
    [self.imgView sd_setImageWithURL:[NSURL URLWithString:@"image.plist"] placeholderImage:[UIImage imageNamed:model.icon]];
    
    self.label.text = model.name;
}

@end
